<html>

	<head>
		<title>6.3.8 布尔表达式增强</title>
		<meta charset="utf-8" />
		<meta name="author" content="jfinal,yaolin" />
		<meta name="Keywords" content="" />
		<link rel="stylesheet" type="text/css" href="../../css/global.css" />
	</head>

	<body>
		<h1>6.3.8 布尔表达式增强</h1>
		<p>逻辑表达式在原有 java 基础之下进行了增强，吸收了 javascript 部分优点，可以减少代码 输入量， 具体规则自上而下优先应用如下列表：</p>
		<ul>
			<li>null 返回 false</li>
			<li>boolean 类型，原值返回</li>
			<li>Map、 Connection(List 被包括在内) 返回 size() > 0</li>
			<li>数组，返回 length > 0</li>
			<li>String、 StringBuilder、 StringBuffer 等继承自 CharSequence 类的对象，返回 length > 0</li>
			<li>Number 类型，返回 intValue() != 0</li>
			<li>Iterator 返回 hasNext() 值</li>
			<li>其它返回 true</li>
		</ul>
		<p>以上规则可以减少模板中的代码量，以下是示例：</p>
		<img src="../../images/templateEngine/6.3.8.1.png" />
		<p>以 上 代 码中 红 色箭头 所 指 的 loginAccount 表 达式 实 质 上代替 了 java 表 达 式 的loginAccount != null 这种写法，减少了代码量。 当然，上述表达式如果使用 ?? 运算符，还可以更加简单顺滑： if (loginAccount.id ?? == x.accountId)</p>
	</body>

</html>